package com.tmxk.api.days01.cyq.list;

import com.tmxk.api.days01.cyq.Dog;

import java.util.ArrayList;

/**
 * @description:
 * @author: chenyq
 * @date: 2022/11/28 14:01
 * @param:
 * @return:
 **/
public class ArrayListDemo_01 {
    public static void main(String[] args) {
        ArrayList arrayList  = new ArrayList();
       Dog dog1 = new Dog("小花",2);
       arrayList.add(dog1);
       arrayList.add(new Dog("花花",3));
       arrayList.add(new Dog("小黑",1));
       arrayList.add(new Dog("小白",5));
       arrayList.add(new Dog("汪汪",6));
       arrayList.add(dog1);

        //需求2:  获取第三个下标元素的狗狗对象
        Dog dog = (Dog) arrayList.get(2);
        System.out.println("获取第三个下标元素的狗狗对象：" + dog);
        //需求3：查找是否存在 汪汪这个集合元素
        System.out.println("查找汪汪 是否包含在该集合元素中：" +arrayList.contains("汪汪"));
        //定义一个标识符，用来标识定义的元素是否存在，默认false 不存在
        boolean flag = false;
        for (Object o : arrayList) {
            Dog d = (Dog) o;
            String str = "汪汪".equals(d.getName()) == true ? "存在该元素" : "不存在该集合元素";
            if("汪汪".equals(d.getName())){
                flag = true;
                break;
            }

        }
        System.out.println(flag == true ? "包含在该元素中" : "不包含在该集合元素中");


        //需求4： 删除花花
        // 定义一个标识符，用来标识定义的元素是否成功删除，默认false,未删除成功
        boolean isRemove = false;
        for (int i = 0; i < arrayList.size(); i++) {
            Dog d = (Dog) arrayList.get(i);
            if("花花".equals(d.getName())){
                isRemove = arrayList.remove(d);
            }

        }
        System.out.println(isRemove == true ? "删除花花成功" : "删除花花失败");


        //需求5：循坏遍历该集合元素
        System.out.println("\n循坏遍历该集合元素");
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i));

        }



    }

}
